package com.lu.pojo.network.tcp.upload;

import java.io.*;
import java.net.InetAddress;
import java.net.Socket;

/**
 * @author luzhenfang
 * @date 2020 05 17
 * @description TCP传输文件 客户端
 */
public class Client {
    public static void main(String[] args) throws IOException {
        // 创建一个socket连接
        Socket socket = new Socket(InetAddress.getByName("127.0.0.1"), 9000);
        // 创建一个输入流
        OutputStream os = socket.getOutputStream();
        // 读取文件
        FileInputStream fis = new FileInputStream(new File("logo.jpg"));
        // 写入文件
        byte[] buffer = new byte[1024];
        int len;
        while ((len=fis.read(buffer))!=-1){
           os.write(buffer,0,len);
        }
        // 通知服务器我发送完了
        socket.shutdownOutput();
        InputStream inputStream = socket.getInputStream();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        byte[] buffer2 = new byte[1024];
        int len2;
        while ((len2=inputStream.read(buffer2))!=-1){
            baos.write(buffer2,0,len2);
        }
        System.out.println(baos.toString());
        // 关闭资源
        baos.close();
        inputStream.close();
        fis.close();
        os.close();
        socket.close();

    }
}
